﻿namespace Deppton.Model
{
    using System;
    using System.Collections.Generic;

    public class Survey
    {
        public Survey()
        {
            this.QuestionsMetadata = new NamedList<QuestionMetadata>(q => q.QuestionId);
            this.QuestionValues = new NamedList<KeyValuePair<string, string>>(kv => kv.Key);
        }

        public string Id
        {
            get;
            set;
        }

        public string Description
        {
            get;
            set;
        }

        public DateTime? ExpirationDate
        {
            get;
            set;
        }

        public string SurveyDefinitionId
        {
            get;
            set;
        }

        public NamedList<KeyValuePair<string, string>> QuestionValues
        {
            get;
            set;
        }

        public NamedList<QuestionMetadata> QuestionsMetadata
        {
            get;
            set;
        }

        public SurveyStatus Status
        {
            get;
            set;
        }
    }
}
